package com.example.demo.lesson7;



import com.example.demo.lesson3.RecommenderImplementation;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

import java.util.Arrays;

@SpringBootApplication
public class MovieRecommenderSystemApplication {
   public static void main(String[] args) {
      //ApplicationContext负责管理Bean和依赖关系。
      ApplicationContext appContext = SpringApplication.run(MovieRecommenderSystemApplication.class, args);
      //RecommenderImplementation使用构造函数注入依赖关系
      System.out.println("\n*************************************************");
      System.out.println("Calling getBean() on RecommenderImplementation");
      RecommenderImplementation recommender = appContext.getBean(RecommenderImplementation.class);
      String[] result = recommender.recommendMovies("Finding Dory");
      System.out.println(Arrays.toString(result));

      //RecommenderImplementation2使用setter方法注入依赖关系
      System.out.println("\n*************************************************");
      System.out.println("Calling getBean() on RecommenderImplementation2");
      RecommenderImplementation2 recommender2 = appContext.getBean(RecommenderImplementation2.class);
      result = recommender2.recommendMovies("Finding Dory");
      System.out.println(Arrays.toString(result));
   }
}


